What is istanbul-lib-report?
The istanbul-lib-report package is a library for generating code coverage reports in various formats. It is part of the Istanbul code coverage tooling ecosystem and provides a way to create detailed and summary coverage reports based on the coverage data collected during test execution. This package is typically used in conjunction with other Istanbul libraries to collect and process coverage information.
Creating a coverage report
This code demonstrates how to generate an HTML coverage report using istanbul-lib-report. It involves creating a report context with the output directory and coverage map, then executing the report generation with the desired format ('html' in this case).
const libReport = require('istanbul-lib-report');
const reports = require('istanbul-reports');
let context = libReport.createContext({
dir: './coverage', // Output directory
watermarks: libReport.getDefaultWatermarks(),
coverageMap: coverageMap // Assume coverageMap is previously defined
});
let report = reports.create('html', {
projectRoot: './'
});
report.execute(context);
Configuring watermarks for coverage thresholds
This example shows how to configure watermarks for coverage thresholds in a report. Watermarks define the color coding of coverage results (e.g., red for low coverage, yellow for medium, green for high). The thresholds are set for statements, functions, branches, and lines.
const libReport = require('istanbul-lib-report');
let context = libReport.createContext({
dir: './coverage',
watermarks: {
statements: [50, 80],
functions: [50, 80],
branches: [50, 80],
lines: [50, 80]
},
coverageMap: coverageMap
});